Given a set of images of a scene, numerical techniques can be used to reconstruct the three-dimensional structure of the scene and parameters describing the cameras that captured the images. The three-dimensional structure can be represented as three-dimensional positions of points in the scene. The parameters describing the cameras that captured the images include the positions, orientations, and focal lengths of the cameras. The problem of reconstructing the three-dimensional structure and parameters describing cameras of a scene from images of the scene is called the “bundle adjustment problem.” The bundle adjustment problem can be formulated as a non-linear least squares minimization problem.
The images used for three-dimensional structure reconstruction can be sequences of images captured from a moving camera, for example, a camera mounted on a car, a low flying aircraft, or a hand-pushed trolley in a building. For several applications, the number of photos processed for three-dimensional reconstruction can be tens of thousands or more. Furthermore, the number of points processed in the scene can be hundreds or thousands or more. As a result, the size of the matrices that are processed during the three-dimensional reconstruction process can be very large. Therefore, conventional techniques for three-dimensional reconstruction from images can be inefficient.